package com.kaifamiao.wrapper;

/**
 * 1、手动拆箱: 通过调用相应的方法来获得包装类实例中的值
 * 2、自动拆箱(auto-unboxing):
 *      说人话: 就是自动将包装类实例中的值取出
 *      本质上是调用了 primitiveValue() 方法来获取的
 *      这里的 primitive 可以是 byte、short、int、long、float、double
 * 3、Byte、Short、Integer、Long、Float、Double 都继承了 Number类 (它是个抽象类)
 */
public class Unboxing {

    public static void main(String[] args) {
        Integer x = Integer.valueOf( 100 );
        Integer y = Integer.valueOf( 200 );

        int a = x.intValue(); // 手动拆箱
        int b = y.intValue(); // 手动拆箱
        int c = a + b ;
        System.out.println( c );

        System.out.println( "- ".repeat( 10 ) );

        int r = x + y; // int r = x.intValue() + y.intValue()
        System.out.println( r );

        System.out.println( "- ".repeat( 10 ) );

        Boolean t = Boolean.valueOf( true );
        boolean bool = t.booleanValue(); // 手动拆箱
        System.out.println( bool );

        Character character = Character.valueOf( '喵' );
        char ch = character.charValue(); // 手动拆箱
        System.out.println( ch );
    }

}
